#ifndef __penquan__
#define __penquan__


#include "particle.h"
#include "shap.h"

const float     PENQUAN_SIZE      = 0.02f;
const float     PENQUAN_PER_SEC  = 2000;
const Vector3f PENQUAN_VELOCITY  (0.0f, -3.0f, 0.0f);
const Vector3f PENQUAN_VARIATION  (0.2f, 0.5f, 0.2f);
const float PENQUAN_ENERGY = 100;
const float PENQUAN_ENERGY_VAR = 20;
const float PENQUAN_WEIGHT = 0.1;


class penquan:public CParticleSystem
{
public:
    penquan(int maxParticles, Vector3f origin, float radius=0.3, float a_start=0, float a_end=10,float b_start=0, float b_end=0):
        m_radius(radius),m_a_start(a_start),m_a_end(a_end),m_b_start(b_start),m_b_end(b_end),CParticleSystem(maxParticles,origin){}
    void  Update(float elapsedTime);
    void  Render();

    void  InitializeSystem();
    void  KillSystem();
protected:
    void InitializeParticle(int index);

    float m_radius;

    float m_a_start;
    float m_a_start_var;

    float m_a_end;
    float m_a_end_var;

    float m_b_start;
    float m_b_start_var;

    float m_b_end;
    float m_b_end_var;

    float m_energy;
    float m_energy_var;

    glu_sphere* _shap;
};




#endif // __penquan__
